package com.hmall.user.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.core.io.Resource;

import java.time.Duration;

/**
 * JWT配置属性类，用于绑定application.yml中的JWT配置
 * 第二个注解是 Spring Boot 提供的，主要功能是把配置文件application.yml里的配置值，绑定到当前类的属性上。
 */
@Data
@ConfigurationProperties(prefix = "hm.jwt")
public class JwtProperties {

    /**
     * JKS密钥库文件位置   classpath:hmall.jks
     */
    private Resource location;

    /**
     * 密钥库密码    password: hmall123
     * 用于访问JKS文件的主密码
     */
    private String password;

    /**
     * 密钥别名     alias: hmall
     * 用于从JKS文件中获取特定密钥对
     */
    private String alias;

    /**
     * JWT令牌有效期     tokenTTL: 30m
     */
    private Duration tokenTTL = Duration.ofMinutes(10);
}
